home *** CD-ROM | disk | FTP | other *** search
- Program FindDupe is placed in the Public Domain system by the author. It is
- however copyrighted and all rights and ownership are kept with the
- author. You may use it, copy it, give it to your friends but don't
- try to sell it. Because the devil will get you and if I find out
- I will prosecute.
-
- The program is a Turbo Pascal Program that reads the directories of your
- disks - it really only works best with hard disks because you don't usually
- have sub directories on floppies.
-
- The program will print on paper (using Epson controls - only form feed)
- or the screen.
-
- It will give you a list of all files, sorted by file name, date, time,
- size and directory they are in. It will also tell you if the file is read
- only, hidden, system or sub directory.
-
- It will give you a list of all duplicate named files on your disk, with the
- same above information.
-
- It will give you a Sorted Tree Dir of the files on your disk with the above
- information.
-
- Best of luck in your computing and may this program help you in keeping
- your machine manageable.
-
- If you are using this program and you find it of use in your system then
- please contribute to support this means of providing great software
- into the hands of people who need and use software in their daily activities.
-
- I am requesting $10.00 or what ever you thing is reasonable for a program of
- this caliber -no more than $100,000.00-.
-
- For businesses this fee is not optional. The source code is not to be
- distributed in the any form. The ownership rights rest solely with the
- copyright holder. If a business feels that they must have to source code it
- can be provided for a fee of $35.00. This only allows them to use it on the
- machine that it was purchased for it does not give them the right for unlimited
- distribution in their company. The source code is never to be distributed
- only the compiled program. I will be willing to discuss Site Licensing.
-
- Copyright (C) 1984, 1985, 1986
- Karson W. Morrison
- Caleb Computing Center
- RD1, Box 531,
- Ringoes NJ. 08551
- (201)-788-1846
-
-
-
-
- Version 2.1 modifications
-
- Version 2.1 October 27, 1985
- Modifications by Ray Bobak
- Sysop PC-RAIN Node II
- Wappingers Falls, NY
- 914-462-7674 (data)
-
- Updated code so that the input string from the command line was a
- list of drives to perform the services on. This change was made
- to allow SYSOP's with multiple download drives to scan all his
- download drives for duplicates. (Here you go Charlie, your name
- in lights.) This version was inspired by Charlie Innusa, a sysop
- running RBBS-PC on only nine 32 Megabyte download drives. You can
- call his BBS, PC-Rockland at 914-353-2157 Subscription node, or
- 914-353-2176 free node
-
-
- FINDUP21 can now search across multiple drives. Just string the drive
- letters after the program name.
-
- The command 'FINDUP21 ABCDEFGHIJKLMNOP' will cause FINDUP21 to search across
- drives A, B, C, D, E, F, G, ... O, and P. Running this progam on your LAN
- may be detrimental to your networks performance! Note: sorting may take a
- large amount of temporary disk space. For 10K files, an 800K datafile is
- used for intermediate storage of the sort. Make sure you have the space!
-
- Hope this helps all those SYSOP's out in keeping thier BBS's free of duplicate
- files on their multi-drive file systems.
-
- Ray Bobak (aka The Wiz)
- Wappingers Falls, NY
- October 27, 1985
-
- Sysop - PC-RAIN Node II
- Wappingers Falls, NY
- (914)-462-7674 (data only)
-
- ╔══════════════════════════════════════════════════════════════════════╗
- ║ This program was written by and Copyright (C) 1984, 1985, 1986 by ║
- ║ ║
- ║ Karson W. Morrison ║
- ║ RD. 1, Box 531, ║
- ║ Ringoes, NJ. 08551 ║
- ║ (201) 788-1846 ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Acknowledgements: ║
- ║ ║
- ║ I used info picked up from a bulletin board for the routines ║
- ║ to get system date and time. That info. was created by Jon Gray ║
- ║ of the IBM PC USERS GROUP Milwaukee. It did have a bug though ║
- ║ that would only work with months of 2 digits (now fixed by me). ║
- ║ ║
- ║ I also used routines provided by Borland for the reading of ║
- ║ directories. This info was provided in their Turbo Tutor package. ║
- ║ ║
- ║ Purpose: ║
- ║ ║
- ║ Every time I turned around I was trying to delete some of the ║
- ║ files on my hard disk because I was always ending up with only ║
- ║ 300 - 400 K left. I kept thinking there must be an easier way ║
- ║ to know if there were duplicate files. ║
- ║ ║
- ║ This is the result ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 2.0 March 25, 1985 ║
- ║ Made by the author. ║
- ║ ║
- ║ Updated program to put file size on each line and put in a major ║
- ║ option for Sorted Tree Directories. ║
- ║ ║
- ║ Every Tree Dir program that I have seen always intersperces sub ║
- ║ directories files where it finds them with the regular files in ║
- ║ that directory. This program put files together, followed by ║
- ║ the sub directory files in that directory. The sub directories ║
- ║ are sorted, and then printed in the sorted order within the ║
- ║ the parent directory. ║
- ║ ║
- ║ Updated program to put output on a file DIRECTRY.DTA as an option ║
- ║ for later printing or other modification. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 2.01 April 23, 1985 ║
- ║ Made by the author. ║
- ║ ║
- ║ Made a change to increase the valid characters that may be in a ║
- ║ file name. The 7Fh, DEL char may be in a file name there by ║
- ║ making the file name unable to be entered from the keyboard. ║
- ║ ║
- ║ This also is used to make a directory hidden. ║
- ║ Fix the line which prints on the screen when a report is being ║
- ║ produced on paper. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 2.02 July 28, 1985 ║
- ║ Made by the author. ║
- ║ ║
- ║ Made a change to put a Clrscr in at the beginning of the program. ║
- ║ This was necessary if you use the Public Domain program to reset ║
- ║ the clear screen at the begining of the program. ║
- ║ Turbo 3.0 also doesn't clear screen at beginning of program. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 2.03 September 9, 1985 ║
- ║ Made by the author. ║
- ║ ║
- ║ Made a change to calculate to space used for 1K blocks which is ║
- ║ what is used when the data is stored on a floppy. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 2.04 November 11, 1985 ║
- ║ Made by author ║
- ║ ║
- ║ Made a change to the first screen so that it would be easier to ║
- ║ understand the options. Included Windows by Lynn Canning, ║
- ║ with the original code by Lane Farris. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 3.00 December 12, 1985 ║
- ║ Made by author ║
- ║ This version now requires Turbo 3.0 ║
- ║ ║
- ║ This version now will read multiple hard disks and floppies and ║
- ║ do its thing on the file names. ║
- ║ ║
- ║ Option 1, 2, 4 will allow you to go to the screen, printer ║
- ║ or disk file. ║
- ║ Option 3 will only go to disk file 'DIRECTRY.DTA' for the ║
- ║ directory and 'DUPLICAT.DTA' for the duplicate ║
- ║ entries. ║
- ║ ║
- ║ Option 4 Sorted Tree Directory uses the Drive letter as its ║
- ║ major sort key. Therefore it will not mix up file ║
- ║ and directories names from multiple drives. ║
- ║ ║
- ║ This version of the program also supports floppies. The program ║
- ║ would read them before but the output was not too useful because ║
- ║ only one floppy could be read at a time. *** NOW *** the program ║
- ║ asks you if you are reading a hard drive or a floppy. Nothing ║
- ║ happens to the machine if you answer the wrong answer, it is to ║
- ║ allow me to know if I should VolumeID the disk (I don't on Hard ║
- ║ Disks). If you want me to Volume-ID a floppy just enter the data. ║
- ║ (What you enter will also show on the report as the main directory ║
- ║ If you don't enter a Volume-ID (return) I show the name 'FLOPPYnnn' ║
- ║ as the main directory. (nnn is the number of the diskette entered) ║
- ║ ║
- ║ If you want to speed up the entry process, and you have two or more ║
- ║ floppy drives run the program as FINDDUPE AB. The program will ║
- ║ alternate between the drives. (NOTE:) one problem in using this ║
- ║ feature you must have a floppy for both A and B drives. (You could ║
- ║ place a blank formatted floppy in the last B: drive to insure ║
- ║ the completion of the input phase.) ║
- ║ ║
- ║ ║
- ║ Included into version 3.00 are changes made by Ray Bobak as he ║
- ║ noted above. ║
- ║ ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 3.01 made by the author was a minor change to fix the time ║
- ║ when the hour was a one digit hour 1..9 am. This program was never ║
- ║ released into the public. The arc file issued by the author was ║
- ║ also missing the windo.inc file. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 3.02 made by the author was made to properly handle the ║
- ║ floppy drive and the output when processing floppies on a floppy ║
- ║ system. Unfortunatily I tested it on a hard disk system. I created║
- ║ the output file on a floppy (the first one that you wanted to read) ║
- ║ and when I got around to writing the output, you now had a different║
- ║ floppy in the drive -- the program abended. I also cleaned up the ║
- ║ input of the command line. If you enter FINDDUPE A:B: I will ║
- ║ delete the colon before processing the data. ║
- ║ ║
- ║ I also changed the program to allow a volume-id to be read with ║
- ║ imbedded blanks in it. Version 3.0 stopped the Volume-id at the ║
- ║ first blank. I now start at position 11 and back up to the first ║
- ║ non-blank character and say that the volume-id is that many chars. ║
- ║ long. ║
- ║ ║
- ║ Keep the cards and letters flowing with changes, revisions needed ║
- ║ etc. The next planned change is to prompt for deletion in the ║
- ║ duplicate file phase. I know where the duplicates are I just need ║
- ║ you to tell me which one to delete (if you want to that is). ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 3.03 made by the author to make a change to the way that ║
- ║ Turbo passes back a volume-id. Turbo passes the data back like ║
- ║ a file name, meaning if the volume-id has imbedded spaces in the ║
- ║ position ending in 8 then turbo removes the space and puts the ║
- ║ period after the seventh character or if you have a vol-id like ║
- ║ TURBO 001 then the vol-id passed back is TURBO.001 which is not ║
- ║ what you wanted. I also made changes to insure that before I ║
- ║ begin processing that I'm working on the correct drive. Because ║
- ║ the program allows you to enter a command line I always used it and ║
- ║ if nothing was entered then I defaulted to the current drive. That ║
- ║ may not have been what you wanted, therefore I ask the question ║
- ║ amy I working on the drive you want? and if not I ask for the ║
- ║ correct drive letters. ║
- ╠══════════════════════════════════════════════════════════════════════╣
- ║ Version 3.05 made by author. Some versions of MS-DOS (AT&T, TANDY ║
- ║ and maybe others) do something strange with Turbo Pascal when you ║
- ║ read a volume-id. PC-DOS will give you the Volume-Id, but the ║
- ║ MS-DOS's above pass back the first file as the Volume-Id. I have ║
- ║ put in coding to keep looking for a volume-id if what I get back ║
- ║ is not what I was expecting. ║
- ║ ║
- ╚══════════════════════════════════════════════════════════════════════╝
- ╔══════════════════════════════════════════════════════════════════════╗
- ║ Yours for better Computing ║
- ║ Karson W. Morrison Caleb Computing Center║
- ╚══════════════════════════════════════════════════════════════════════╝
-
- ╔══════════════════════════════════════════════════════════════════════╗
- ║ ║
- ║ NOTE: ║
- ║ ║
- ║ A command line is used as input if entered else the default drive ║
- ║ is used. ║
- ╚══════════════════════════════════════════════════════════════════════╝
- ╔══════════════════════════════════════════════════════════════════════╗
- ║ ║
- ║ NOTE: ║
- ║ ║
- ║ Before you forget Please sent in your $10.00 registration fee and ║
- ║ I will make sure that you have the most resent version of the ║
- ║ of the program. If this program does not work on your computer ║
- ║ because of your configuration (i.e. Does not support windows) ║
- ║ please let me know also and I can provide a version for that. ║
- ║ ║
- ║ Businesses the fee is not optional. ║
- ║ ║
- ╚══════════════════════════════════════════════════════════════════════╝
-
- Note: I have been asked how many records will this program sort.
-
- Borland will not give any assistance in trying to find out, by giving formulas
- etc. So this is the best that I can figure out.
-
- The program reserves about 63k for itself and the windows, and it will take
- the rest of the available memory for sort work space. When it runs out of
- memory then it writes the sort work data to disk. What ever is your default
- drive.
-
- On my machine I ran a CHKDSK and I had 219xxx free.
-
- Finddupe would have been able to sort 2159 records, each one of them 73
- positions long. This would have been a work space of 157461 in memory.
- If I tried to sort more records than that then it would have written some
- of them to disk. The work area in memory is divided into pages, each of
- them less than 64K. You will have at least 3 work areas (PAGES) in memory
- and when it writes to disk it will write a page. In my example I had 3 pages
- each of them 157461 / 3 long or 52483 bytes. You will have more than 3 pages
- when you have more than 64K * 3 <192K> of free memory. The max is 10 pages
- 64K * 10 = 640K.
-
- When the program writes to disk, it will write a page from memory, and then
- continue sorting. If it runs out of disk space then the program abends.
- However if you have 360K of free space on your drive then it should handle
- over 6000 records. (Again this is my assumption, because the sort work space
- does not stay around after the job is over).